====== Groovy & Grails ======
Cette page est consacré à une brève introduction à Groovy & Grails. Il serait souhaitable rassembler toutes les informations nécessaires à l'utilisation de ce magnifique framework sous ubuntu pour la communauté francophone.

===== Definition =====
==== Groovy ? ====
Groovy s'intègre et est entièrement compatible avec la JVM étant donné que le bytecode est le même. Il peut donc

    * utiliser les bibliothèques Java,
    * être utilisé dans des classes Java.

[[http://fr.wikipedia.org/wiki/Groovy_(langage)|Pour plus de détails]]
==== Grails? ====
Grails est un framework open source basé sur Groovy rassemblant une grande variété de technologie J2EE.
    * Groovy
    * Java
    * Hibernate
    * Spring framework : Spring MVC, Spring IOC, Spring WebFlow, ...
    * Sitemesh
    * Log4J
    * JUnit
    * Canoo Web test
    * Jetty

[[http://fr.wikipedia.org/wiki/Grails_(technologie)]]

<note tip>Site incontournable à propos de l'utilisation du langage :
  * [[http://groovy.codehaus.org]]
  * [[http://grails.org]]
</note> 

===== Les outils =====
Cette page n'est pas une introduction à prise en main du développement d'application mais un guide pour l'installation des outils nécessaire au confort du développeur sous ubuntu.

Actuellement le langage Groovy est très mal supporter par les différents éditeurs tel que netbeans ou eclipse. Pourtant chacun d'eux possède des plugins dédiés aux développement sous Groovy, et Grails.

<note important>Tout les éditeurs peuvent éditer le groovy avec une configuration édition de code Java (de même pour grails).</note>

===== Installation =====
Je vous conseil d'installer à la main les différents paquets.

==== étape 1: Groovy ====
=== télécharger ===
== Automatique ==
[[apt://groovy]]
Puis taper: <code>groovy -version</code> en principe la version devrait être 1.6.0.13.
<note warning>Attention la version de groovy doit être cohérente avec la version de grails utilisé. 
Par exemple, le 11/09/09 : Groovy 1.6 avec Grails 1.1</note> 

== A la main ==
Suivre les instructions délivré à la page : [[http://groovy.codehaus.org/Download]]
Pour la version 1.6.4 : [[http://dist.groovy.codehaus.org/distributions/groovy-binary-1.6.4.zip]]

Puis dézipper l'archive dans un répertoire adéquat, ajouter Groovy au CLASSPATH.


=== test ===
Creer un script Groovy, par exemple test.groovy
<code java>
class Greet {
  def name
  Greet(who) { name = who[0].toUpperCase() +
                      who[1..-1] }
  def salute() { println "Hello $name!" }
}

g = new Greet('world')  // create object
g.salute()              // Output "Hello World!"
</code>

Pour exécuter le script : <code>groovy test.groovy</code>

==== étape 2: Grails ====
En supposant que les étapes précédentes soient valides.
=== télécharger à la main ===
Suivre les instructions délivré à la page : [[http://grails.org/]]
Pour la version 1.1 : [[http://grails.org/download/file?mirror=98]]

Puis dézipper l'archive dans un répertoire adéquat par exemple /home/phpvik/workspace/grails/
Ensuite ajouter grails au classpath (?):
  * édité le fichier ~/.bashrc, et ajouter les quelques lignes suivant
<code bash>
export GRAILS_HOME=/home/phpvik/workspace/grails/grails-1.1.1
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.13/
export PATH=”$HOME/projects/gwt-linux-1.5.3:$PATH:$GRAILS_HOME/bin”
alias grails=$GRAILS_HOME/bin/grails
</code>

=== test ===
Tester la version de grails (résultat: 1.1)
<code>grails -version</code>
Pour créer votre premier projet : 
<code>grails create-app MaPremièreApplicationEnGrails</code>

Si vous avez des questions n'hésitez pas à poser dans cette page (je suis abonné).

Bonne chance pour la suite car le chemin sera difficile mais vous apprendrez beaucoup de chose.
Le monde du J2EE devient un peu moins perméable avec Grails.


